Storage nodes or servers in storage networks generally store data across multiple data storage devices that together comprise a data container, which is also referred to herein as an aggregate. Storage nodes may employ various forms of local data storage devices, such as hard disk drives, solid state drives, flash drives, or tape devices, as well as remote data storage devices, such as cloud storage devices or repositories for example.
Typically, the data storage devices host one or more data stores or volumes within the aggregates, which are associated with file systems that define an overall logical arrangement of storage space in a storage network. Volumes can be established to have tiering policies in order to store data in multiple performance tiers. For example, composite aggregates can include volumes that span relatively high performance flash data storage devices and relatively low performance cloud storage devices for warmer and colder data, respectively.
To improve performance of a storage network, volumes are often transitioned or migrated from aggregates owned by source storage nodes to aggregates owned by destination storage nodes. In order to facilitate the migration, source storage nodes read data to be migrated, copy the data, transfer the copy of the data to a destination storage node to be stored in a volume of aggregate owned by the destination storage node, and remove the data subsequent to the transfer. While reading data stored in a local flash data storage device, for example, can be relatively quick, reads directed to cloud storage devices are relatively slow. Accordingly, many volume transfers currently require a significant amount of time, particularly for volumes in which data is stored in a cloud storage device.
In one particular example, migrations for composite aggregates that utilize cloud storage may otherwise proceed relatively quickly with respect to the subset of the data stored in a higher performance tier, but currently requires a significant amount of time due to read and copy of another subset of the data stored in a lower performance, cloud data storage tier. Moreover, cloud service providers generally charge based on utilization and there can be significant monetary transaction costs associated with storage operations that require accessing cloud storage.